package com.yilin.platform.base_core.tools.pab.entity.req;

import com.yilin.platform.base_core.tools.pab.base.BaseResult;
import com.yilin.platform.base_core.tools.pab.base.PabTrade;
import com.yilin.platform.base_core.tools.pab.base.XmlField;

import java.util.List;

@PabTrade(value ="4018",title = "企业大批量资金划转")
public class ReqBody4018 extends BaseResult {
    @XmlField("ThirdVoucher")
    private String thirdVoucher;//批量转账凭证号
    @XmlField("totalCts")
    private String totalCts;//总记录数
    @XmlField("totalAmt")
    private String totalAmt;//总金额
    @XmlField("BatchSummary")
    private String batchSummary;//批次摘要
    @XmlField("BSysFlag")
    private String bSysFlag;//整批转账加急标志
    @XmlField("CcyCode")
    private String ccyCode;//货币类型
    @XmlField("OutAcctNo")
    private String outAcctNo;//付款人账户
    @XmlField("OutAcctName")
    private String outAcctName;//付款人名称
    @XmlField("OutAcctAddr")
    private String outAcctAddr;//付款人地址
    @XmlField("PayType")
    private String payType;//扣款类型
    @XmlField("BizFlag1")
    private String bizFlag1;//业务标识1
    @XmlField("KFAgreeNo")
    private String kfAgreeNo;//快付协议号

    @XmlField("HOResultSet4018R")
    private List<HOResultSet4018R> itemList;//最大支持500条

    public static class HOResultSet4018R extends BaseResult {
        @XmlField("SThirdVoucher")
        private String sThirdVoucher;//单笔转账凭证号(批次中的流水号)/序号
        @XmlField("CstInnerFlowNo")
        private String cstInnerFlowNo;//客户自定义凭证号
        @XmlField("InAcctBankNode")
        private String inAcctBankNode;//收款人开户行行号
        @XmlField("InAcctRecCode")
        private String inAcctRecCode;//接收行行号
        @XmlField("InAcctNo")
        private String inAcctNo;//收款人账户
        @XmlField("InAcctName")
        private String inAcctName;//收款人账户户名
        @XmlField("InAcctBankName")
        private String inAcctBankName;//收款人开户行名称
        @XmlField("InAcctProvinceCode")
        private String inAcctProvinceCode;//收款账户开户省代码
        @XmlField("InAcctCityName")
        private String inAcctCityName;//收款账户开户市
        @XmlField("TranAmount")
        private String tranAmount;//转出金额
        @XmlField("UseEx")
        private String useEx;//资金用途
        @XmlField("UnionFlag")
        private String unionFlag;//行内跨行标志
        @XmlField("AddrFlag")
        private String addrFlag;//同城/异地标志
        @XmlField("ProxyPayAcc")
        private String proxyPayAcc;//代理账户
        @XmlField("ProxyPayName")
        private String proxyPayName;//代理户名
        @XmlField("ProxyPayBankName")
        private String proxyPayBankName;//代理银行
        @XmlField("ProxyPayType")
        private String proxyPayType;//代理公司类型
        @XmlField("OrderPayNo")
        private String orderPayNo;//订单支付凭证号
        @XmlField("KFPCode")
        private String kfPCode;//跨行快付业务场景代码

        public String getsThirdVoucher() {
            return sThirdVoucher;
        }

        public void setsThirdVoucher(String sThirdVoucher) {
            this.sThirdVoucher = sThirdVoucher;
        }

        public String getCstInnerFlowNo() {
            return cstInnerFlowNo;
        }

        public void setCstInnerFlowNo(String cstInnerFlowNo) {
            this.cstInnerFlowNo = cstInnerFlowNo;
        }

        public String getInAcctBankNode() {
            return inAcctBankNode;
        }

        public void setInAcctBankNode(String inAcctBankNode) {
            this.inAcctBankNode = inAcctBankNode;
        }

        public String getInAcctRecCode() {
            return inAcctRecCode;
        }

        public void setInAcctRecCode(String inAcctRecCode) {
            this.inAcctRecCode = inAcctRecCode;
        }

        public String getInAcctNo() {
            return inAcctNo;
        }

        public void setInAcctNo(String inAcctNo) {
            this.inAcctNo = inAcctNo;
        }

        public String getInAcctName() {
            return inAcctName;
        }

        public void setInAcctName(String inAcctName) {
            this.inAcctName = inAcctName;
        }

        public String getInAcctBankName() {
            return inAcctBankName;
        }

        public void setInAcctBankName(String inAcctBankName) {
            this.inAcctBankName = inAcctBankName;
        }

        public String getInAcctProvinceCode() {
            return inAcctProvinceCode;
        }

        public void setInAcctProvinceCode(String inAcctProvinceCode) {
            this.inAcctProvinceCode = inAcctProvinceCode;
        }

        public String getInAcctCityName() {
            return inAcctCityName;
        }

        public void setInAcctCityName(String inAcctCityName) {
            this.inAcctCityName = inAcctCityName;
        }

        public String getTranAmount() {
            return tranAmount;
        }

        public void setTranAmount(String tranAmount) {
            this.tranAmount = tranAmount;
        }

        public String getUseEx() {
            return useEx;
        }

        public void setUseEx(String useEx) {
            this.useEx = useEx;
        }

        public String getUnionFlag() {
            return unionFlag;
        }

        public void setUnionFlag(String unionFlag) {
            this.unionFlag = unionFlag;
        }

        public String getAddrFlag() {
            return addrFlag;
        }

        public void setAddrFlag(String addrFlag) {
            this.addrFlag = addrFlag;
        }

        public String getProxyPayAcc() {
            return proxyPayAcc;
        }

        public void setProxyPayAcc(String proxyPayAcc) {
            this.proxyPayAcc = proxyPayAcc;
        }

        public String getProxyPayName() {
            return proxyPayName;
        }

        public void setProxyPayName(String proxyPayName) {
            this.proxyPayName = proxyPayName;
        }

        public String getProxyPayBankName() {
            return proxyPayBankName;
        }

        public void setProxyPayBankName(String proxyPayBankName) {
            this.proxyPayBankName = proxyPayBankName;
        }

        public String getProxyPayType() {
            return proxyPayType;
        }

        public void setProxyPayType(String proxyPayType) {
            this.proxyPayType = proxyPayType;
        }

        public String getOrderPayNo() {
            return orderPayNo;
        }

        public void setOrderPayNo(String orderPayNo) {
            this.orderPayNo = orderPayNo;
        }

        public String getKfPCode() {
            return kfPCode;
        }

        public void setKfPCode(String kfPCode) {
            this.kfPCode = kfPCode;
        }
    }

    public String getThirdVoucher() {
        return thirdVoucher;
    }

    public void setThirdVoucher(String thirdVoucher) {
        this.thirdVoucher = thirdVoucher;
    }

    public String getTotalCts() {
        return totalCts;
    }

    public void setTotalCts(String totalCts) {
        this.totalCts = totalCts;
    }

    public String getTotalAmt() {
        return totalAmt;
    }

    public void setTotalAmt(String totalAmt) {
        this.totalAmt = totalAmt;
    }

    public String getBatchSummary() {
        return batchSummary;
    }

    public void setBatchSummary(String batchSummary) {
        this.batchSummary = batchSummary;
    }

    public String getbSysFlag() {
        return bSysFlag;
    }

    public void setbSysFlag(String bSysFlag) {
        this.bSysFlag = bSysFlag;
    }

    public String getCcyCode() {
        return ccyCode;
    }

    public void setCcyCode(String ccyCode) {
        this.ccyCode = ccyCode;
    }

    public String getOutAcctNo() {
        return outAcctNo;
    }

    public void setOutAcctNo(String outAcctNo) {
        this.outAcctNo = outAcctNo;
    }

    public String getOutAcctName() {
        return outAcctName;
    }

    public void setOutAcctName(String outAcctName) {
        this.outAcctName = outAcctName;
    }

    public String getOutAcctAddr() {
        return outAcctAddr;
    }

    public void setOutAcctAddr(String outAcctAddr) {
        this.outAcctAddr = outAcctAddr;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public String getBizFlag1() {
        return bizFlag1;
    }

    public void setBizFlag1(String bizFlag1) {
        this.bizFlag1 = bizFlag1;
    }

    public String getKfAgreeNo() {
        return kfAgreeNo;
    }

    public void setKfAgreeNo(String kfAgreeNo) {
        this.kfAgreeNo = kfAgreeNo;
    }

    public List<HOResultSet4018R> getItemList() {
        return itemList;
    }

    public void setItemList(List<HOResultSet4018R> itemList) {
        this.itemList = itemList;
    }
}
